package com.framework.service;

import com.baomidou.mybatisplus.service.IService;
import com.framework.entity.ter.TerGoods;
import com.framework.page.PageUtils;

import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;

/**
 * 功能描述: 机具物料接口
 * @author ck
 * @date 2018/8/28 19:46
 */
public interface GoodsService extends IService<TerGoods> {

	/**
	 * 机具物料列表
	 * @param token 所属渠道
	 * @param name 商品名称
	 * @param goodsType 商品类别查询 1：机具 2：物料
	 * @return list
	 */
	List<TerGoods> queryGoodsList(String token, String name, Integer goodsType);

	/**
	 * 根据主键查询显示的商品
	 * @param goodsId
	 * @return
	 */
	TerGoods queryGoodsById(Long goodsId);

	/**
	 * 查询商品详情
	 * @param token
	 * @param goodsId
	 * @return
	 */
	Map<String,Object> queryGoodsInfo(String token, Long goodsId);

	/**
	 * 查询商品列表
	 * @param params
	 * @return
	 */
	PageUtils queryGoodsInfoList(Map<String,Object> params);

	/**
	 * 新增商品
	 * @param coverUrl
	 * @param infoUrl
	 * @param request
	 * @param depId
	 * @return
	 */
	Integer addnNewGoods(String coverUrl, String infoUrl, HttpServletRequest request, Long depId);

	/**
	 * 通过id查询商品 后台修改用
	 * @param goodsId
	 * @return
	 */
	TerGoods queryGoodsByGoodsId(Long goodsId);

	/**
	 * 修改商品
	 * @param coverUrl
	 * @param infoUrl
	 * @param request
	 * @return
	 */
	Integer updateGoods(String coverUrl, String infoUrl, HttpServletRequest request);

	/**
	 * 查询当前合伙人所定的礼包详情
	 * @param token
	 * @param goodsId
	 * @return
	 */
	Map<String, Object> queryGoodsPresentInfo(String token, Long goodsId);

	/**
	 * 上架商品
	 * @param goodsId
	 */
    void sellGood(Long goodsId);

	/**
	 * 下架商品分页数据
	 * @param params
	 * @return
	 */
	PageUtils queryUnSoldList(Map<String, Object> params);

	/**
	 * 下架商品
	 * @param goodsId
	 */
    void unSellGood(Long goodsId);

    List<TerGoods> queryGoodsListForH5(String token);

	Map<String, Object> queryGoodsInfoForH5(String token, Long goodsId);
}

